//
//  UIAlertController+ConveniencePresent.h
//  Whistle
//
//  Created by ZhangAo on 15/11/5.
//  Copyright © 2015年 BookSir. All rights reserved.
//

#import <UIKit/UIKit.h>

@interface UIAlertController (ConveniencePresent)

// Alert 样式

+ (void)presentSimpleAlertControllerWithTitle:(NSString *)title
                                      message:(NSString *)message;

+ (void)presentSimpleAlertControllerAlignmentLeftWithTitle:(NSString *)title
                                                   message:(NSString *)message;

+ (void)presentAlertControllerWithTitle:(NSString *)title
                                message:(NSString *)message
                              doneBlock:(void (^)(void))block;

+ (void)presentAlertControllerWithTitle:(NSString *)title
                                message:(NSString *)message
                              doneBlock:(void (^)(void))block
                            cancelBlock:(void (^)(void))cancelBlock;

+ (void)presentAlertControllerWithTitle:(NSString *)title
                                message:(NSString *)message
               withTextFieldPlaceholder:(NSString *)placeholder
                              doneBlock:(void (^)(NSString *result))block
                            cancelBlock:(void (^)(void))cancelBlock;

+ (void)presentAlertControllerWithTitle:(NSString *)title
                                message:(NSString *)message
               withTextFieldPlaceholder:(NSString *)placeholder
                             isPassword:(BOOL)isPassword
                              doneBlock:(void (^)(NSString *result))block
                            cancelBlock:(void (^)(void))cancelBlock;

+ (void)presentAlertControllerWithTitle:(NSString *)title
                                message:(NSString *)message
                   textFieldPlaceholder:(NSString *)placeholder
                          textFieldText:(NSString *)text
                          selectedRange:(NSRange)selectedRange
                             isPassword:(BOOL)isPassword
                              doneBlock:(void (^)(NSString *result))block
                            cancelBlock:(void (^)(void))cancelBlock;

+ (void)presentAlertControllerWithTitle:(NSString *)title
                                message:(NSString *)message
               withTextFieldPlaceHolder:(NSString *)placeholder
                          textFiledText:(NSString *)text
                      textFieldDelegate:(id<UITextFieldDelegate>)delegate
                              doneBlock:(void (^)(NSString *result))block
                            cancelBlock:(void (^)(void))cancelBlock;

+ (void)presentAlertControllerWithTitle:(NSString *)title
                                message:(NSString *)message
                         textFieldMaker:(void (^)(UITextField *textField))textFieldMaker
                              doneBlock:(void (^)(NSString *result))block
                            cancelBlock:(void (^)(void))cancelBlock;

+ (void)presentAlertControllerWithTitle:(NSString *)title
                                message:(NSString *)message
                              doneTitle:(NSString *)doneTitle
                            cancelTitle:(NSString *)cancelTitle
                          completeBlock:(void (^)(BOOL isCancelled))completeBlock;

+ (void)presentAlertControllerWithTitle:(NSString *)title
                                actions:(NSArray<UIAlertAction *> *)actions;


+ (void)presentAlertControllerWithTitle:(NSString *)title
                                message:(NSString *)message
                                actions:(NSArray<UIAlertAction *> *)actions;

+ (void)presentAlertControllerWithTitle:(NSString *)title
                                message:(NSString *)message
                              alignMode:(NSTextAlignment)alignMode
                                actions:(NSArray<UIAlertAction *> *)actions;

// Action 样式

+ (void)presentActionControllerWithTitle:(NSString *)title
                                 actions:(NSArray<UIAlertAction *> *)actions;

+ (void)presentActionControllerWithTitle:(NSString *)title
                                 message:(NSString *)message
                                 actions:(NSArray<UIAlertAction *> *)actions;
// 这个接口不包含[取消]
+ (void)presentActionControllerWithTitle:(NSString *)title
                                 message:(NSString *)message
                              allActions:(NSArray<UIAlertAction *> *)allActions;

@end
